团队开发应该定义好一份完善的开发规范,方便日后维护,下面是我个人平时一点点积累开发规范。
#命名规范
id命名
采用右侧格式 {view缩写}{module_name}{view的逻辑名称}
控件 | 缩写 |
---|---|
LinearLayout | ll_ |
RelativeLayout | rl_ |
FrameLayout | fl_ |
TextView | tv_ |
EditText | et_ |
Button | bt_ |
ImageView | iv_ |
ImageButton | ib_ |
ProgressBar | pb_ |
Spinner | spn_ |
ListView | lv_ |
ExpandableList | exl_ |
GridView | gv_ |
RecycleView | rcv_ |
RadioButton | rb_ |
CheckBox | cb_ |
接口命名规范
命名规则与类一样采用大驼峰命名法,多以able或ible结尾。自己定义的接口最好以I开头,接口中定义的方法以on开头,如onClick();
成员变量命名规范
1.非静态变量:采用小驼峰命名法,以m开头。
2.临时变量命名: 使用标准的Java命名方法,不推荐使用Google的m命名法。
例如:
private String userName; 而不推荐使用 private String mUserName;
3.静态变量命名 :采用小驼峰命名法,以s开头。
4.常量、枚举命名:常量、枚举等均采用大写形式,用下划线区分各单词。
5.控件实例命名
类中控件名称必须与xml布局id保持一致(可以去掉{module_name})。
例如:
在布局文件中 Button 的id为: android:id=”@+id/btn_pay”
private Button mBtnPay;
方法命名规范
动词或动名词,采用小驼峰命名法。例如:
init(); initView();
布局文件(Layout)命名规范
全部小写,采用下划线命名法。其中{module_name}为业务模块或是功能模块等模块化的名称或简称。
对于小项目,可以不用使用module_name作为前缀。
activity layout: {module_name}activity{名称} 例如:
user_activity_main.xml user_activity_shopping.xml
fragment layout:{module_name}fragment{名称} 例如:
user_fragment_main.xml user_fragment_shopping.xml
Dialog layout: {module_name}dialog{名称} 例如:
user_dialog_loading.xml
列表项布局命名:{module_name}list_item{名称} 例如:
user_listitemcustomer.xml
包含项布局命名:include{名称} 例如:
include_head.xml
adapter的子布局: {module_name}item{名称} 例如:
user_item_order.xml
widget layout: {module_name}widget{名称} 例如:
user_widget_shopping_detail.xml
……………..
#项目目录结构
- 包名全部采用小写
- 主包名采用[公司性质].[公司名称].[项目名称]的命名方式
如果根据不同情况进行分包的话,可以将包名分别命名为util,view, adapter,moudel ,db, net,ui等。
…………..
#编程规范
- java代码中不出现中文,最多注释中可以出现中文
- 图片能.9处理尽量.9处理
- 使用静态变量方式实现界面间共享要慎重
- 将大的复杂代码段分为较小的、易于理解的模块
- 自适应屏幕,使用dp替代px
……………..